
using System;
using UnityEngine;

namespace M0
{
    public class Boot : BaseSingleMono<Boot>
    {
        [SerializeField]private bool b打印日志;
        [SerializeField]private 已注册的模式 游戏模式;
        [SerializeField]private bool 自动确认模式;

        private 已注册的模式 cur模式;
        private I平台 小游戏;
        public I平台 Get小游戏 =>小游戏;

        public void Set打印日志(bool b)
        {
            b打印日志 = b;
            BDebug.监听开关日志(b);
        }

        protected override void AwakeInit()
        {
            base.AwakeInit();
            Set打印日志(b打印日志);
            确认游戏模式();
        }

        // private void Start()
        // {
        //     小游戏.启动();
        // }

        private void 确认游戏模式()
        {
            if (自动确认模式)
            {
#if UNITY_EDITOR
                cur模式 = 已注册的模式.编辑器开发;
#endif
            }
            else
            {
                cur模式 = 游戏模式;
            }

            switch (cur模式)
            {
                case 已注册的模式.编辑器开发:
                    小游戏 = new 编辑器开发平台();
                    break;
            }
            
        }

        private void Start()
        {
            小游戏.Init();
        }

#if UNITY_EDITOR
        private void OnApplicationQuit()
        {
            统一保存();
        } 
#endif

        public void 统一保存()
        {
            M.Event.DoEvent(M.EventKey_保存数据);
        }
    }

    public enum 已注册的模式
    {
        编辑器开发,
        微信小游戏,
    }
}

